#ifndef ICE_CAMERA_H
#define ICE_CAMERA_H

#include "CameraBase.h"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc_c.h"

#ifdef DLL_EXPORT
class _declspec(dllexport) ICECamera : public CameraBase
#else
class ICECamera : public CameraBase
#endif
{
public:
    ICECamera(void);
    ~ICECamera(void);
    int Init(HWND hwnd, const char *IPAddress, int port, const char *userName, const char *password, int channel, int stream);
    int Connect();
    int Disconnect();
    void SetCallback(VideoDataCallback callback, void *context);
    void SetANPRInfoCallback(ANPRInfoCallback callback, void *context);

    ANPRInfoCallback anprInfoCallback;
    void *anprInfoCallbackContext;

private:
    HWND hwnd;
    std::string IPAddress;
    int port;
    std::string userName;
    std::string password;
    int channel;
    int stream;

    void* realPlayHandle;
};

#endif
